/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package steg.steki;

/**
 *
 * @author Tryllion
 */
public class StegException extends Exception {

    public static final int BLAD_UNSUPORTED = 0;
    public static final int BLAD_MODYFIKACJI_PLIKU = 1;
    public static final int BLAD_ZLY_FORMAT_PLIKU = 2;
    public static final int BLAD_ZA_MALA_ILOSC_PAMIECI = 3;
    public static final int BLAD_INNY = 4;
    public static final int BLAD_WERSJA_NIEOBSLUGIWANA = 5;


    private String strBledu;
    private int kodBledu;

//-- konstrukory
    /*public StegException(String s){ super(s);}*/

    public StegException( Exception e, int kod, String str) {

        super(e);
        kodBledu = kod;
        strBledu = str;

    }


    public String getStegMassage() {
        if(!strBledu.equals("")) return strBledu;
        if(kodBledu==BLAD_UNSUPORTED) return "Niezany błąd steganograficzny! ";
        if(kodBledu==BLAD_INNY) return "Błąd!";
        if(kodBledu==BLAD_ZLY_FORMAT_PLIKU) return "Plik jest uszkodzony bądź niewspierany przez JStek.";
        if(kodBledu==BLAD_MODYFIKACJI_PLIKU) return "Plik został zmodyfikowany bądź nie istnieje.";
        if(kodBledu==BLAD_ZA_MALA_ILOSC_PAMIECI) return "Za mało pamięci aby obsłużyć operację.";
        if(kodBledu==BLAD_WERSJA_NIEOBSLUGIWANA) return "Wersja pliku nie obsługiwana!.";


        throw new UnsupportedOperationException("Not yet implemented");
    }

}
